[急+跪求]一个关于几何算法的问题!!!!!

来源:百度知道 编辑:UC知道 时间:2024/05/25 11:16:42
在平面上镶嵌着无数个边长为1的正三角形。
现在给你一个半径为R(R为实数且大于等于0)的圆,把它放在适当的位置,使圆内(包括圆周上)覆盖最多顶点。最多能覆盖多少个?
如:
当R=1时,最多能覆盖7个顶点。(一个正好落在圆心,另六个在圆周上)
求最好的算法,能求出已知R时最多能覆盖顶点的个数。
急!!!!!!!!!!!!
回复SF:不对,R是实数.

R为几就是从1加到几的6倍再加1

此题只能得到当R为自然数时最多能覆盖顶点的个数。

以下证明算法不存在:

设已知R时最多能覆盖顶点的个数为n
当0<=R<1时,做如下分类:
当0<=R<(1/2)时,n=1
当(1/2)<R<((根号3)/3)时,n=2
当((根号3)/3)<R<1时,n=3
当R>=1时,有:
当1<=R<2时,需要分1<=R<(根号3)和(根号3)<=R<2两种情况
当2<=R<3时,需要分2<=R<(3/2)(根号3)和(3/2)(根号3)<=R<3两种情况
······
设任意一个正整数m的拆分成两个自然数之和的种数为f(m)(注:2=0+2=2+0之类的只算一种)
则f(m)=[m/2]+1,其中[x]表示不超过x的最大整数
那么R在任意一个单位区间[m-1,m)内需要分f(m)种情况,其中m为不等1的正整数
显然,R在任意一个单位区间[m-1,m)分类种数非定值,所以n与R之间不能互相表示

如果R限定为自然数,则n=3R^2+3R+1